# 定义dayUP函数，用于计算按照特定工作-休息周期和增长-衰退率经过一年（365天）后的累计增长倍数
def dayUP(work_increase, rest_decrease):
    # 初始化dayup为1，表示起始的增长倍数为1
    dayup = 1
    # 初始化一个周期内的天数
    cycle_days = 4  # 工作3天，休息1天，共4天一个周期
    # 初始化一个周期内的工作日天数
    work_days = 3
    # 计算一年内有多少个完整的工作-休息周期以及剩余的天数
    full_cycles, remaining_days = divmod(365, cycle_days)
    # 对于每一个完整的工作-休息周期进行计算
    for _ in range(full_cycles):
        # 工作日增加
        for _ in range(work_days):
            dayup *= (1 + work_increase)
            # 休息日减少
        dayup *= (1 - rest_decrease)
        # 对于剩余的天数进行计算
    for _ in range(remaining_days):
        if _ < work_days:  # 如果剩余天数中还有工作日
            dayup *= (1 + work_increase)
            # 否则，如果是休息日但休息日不下降，则dayup保持不变
    return dayup


# 初始化工作日的努力参数和休息日的衰退参数
work_increase = 0.01  # 工作日每天提高1%
rest_decrease = 0.001  # 休息日每天下降1‰

# 使用dayUP函数计算累计增长倍数
final_growth = dayUP(work_increase, rest_decrease)

# 打印结果
print(f"经过一年的努力（工作3天，休息1天，工作日提高1%，休息日下降1‰），累计增长倍数为：{final_growth:.2f}")

# 如果休息日不下降，则可以将rest_decrease设为0，并重新计算
rest_decrease_no_drop = 0
final_growth_no_drop = dayUP(work_increase, rest_decrease_no_drop)

# 打印结果
print(f"如果休息日不下降，经过一年的努力（工作3天，休息1天，工作日提高1%），累计增长倍数为：{final_growth_no_drop:.2f}")
